home *** CD-ROM | disk | FTP | other *** search
/ Wildcat Gold - The Optical BBS / Wildcat Gold - The Optical BBS (The Golden ROM Series)(Volume 4 Number 1)(The Digital Publishing Company)(1992).ISO / sdn / ca28_3a.sdn / BBS.CMD < prev    next >
OS/2 REXX Batch file  |  1991-07-11  |  24KB  |  1,445 lines

  1. LEGE "Scripted BBS (1.1); initializing"
  2. WOPE 10,1 12,78 (default)
  3. ATSA 11,3 (default) "Initializing BBS.. "
  4. S20="_PARM"(11:14)*","*"_PARM"(0:3)
  5. S21="ATE0Q0V1X1S0=2 S7=30 S9=10^M"
  6. S22="\BBS"
  7. S23="\BBS\FILES"
  8. S24="\BBS\MAIL"
  9. S25="\BBS\BULLETIN"
  10. SET PARI NONE
  11. SET DATA 8
  12. SET STOP 1
  13. SET MASK ON
  14. SET CR_I CR_L
  15. SET ASCI UP_L LF
  16. SET SOFT ON
  17. SET ZMOD AUTO OFF
  18. SET ZMOD RECO OFF
  19. IF ISSC "BBSDAT"
  20. FCAL "BBSDAT"
  21. ELSE
  22. S10="_SCRIPT"
  23. GOSU Parse_Fn
  24. S10=S10*"\BBSDAT"
  25. IF ISSC S10 FCALL S10
  26. ENDI
  27. SUBD S29
  28. DLDI S28
  29. FFIR S22
  30. IF FAILURE or NOT ISFILE S22*"\BBS-User"
  31. WCLO
  32. GOTO NoUser
  33. ENDI
  34. SET BAUD S20(5:8)
  35. SET PORT S20(0:3)
  36. SET INAF OFF
  37. SET ALAR OFF
  38. SET ATIM 1
  39. CHDI S22
  40. SET DLDI S23
  41. LEGE "Scripted BBS (1.1);  Press ESC to terminate or to CHAT."
  42. TRAN "_MESCAPE"
  43. WCLO
  44. ON ESCA GOSU Escape
  45. S9="* BBS script loaded"
  46. CLOG S9
  47. GOSU Log_Item
  48. GOTO Restart
  49. Parse_Fn:
  50. LENG S10 N10
  51. FOR N11=(N10-1),0,-1
  52. IF STRCMP S10(N11:N11) ":" or STRCMP S10(N11:N11) "\" GOTO PAFN100
  53. ENDF
  54. S11=S10
  55. S10=""
  56. RETU
  57. PAFN100:
  58. S11=S10(N11+1:N10)
  59. IF STRCMP S10(N11:N11) "\" DEC N11
  60. S10=S10(0:N11)
  61. RETU
  62. NoUser:
  63. LEGE "Scripted BBS (1.1);  Error initializing"
  64. WOPE 10,10,17,70 (default) NoUser_E
  65. ATSA 10,12 (default) " BBS initialization "
  66. ATSA 11,12 (default) "There is no user ID file (BBS-User) to be found on the"
  67. ATSA 12,12 (default) "subdirectory: "*S22
  68. ATSA 14,12 (default) "The script BBSETUP must be used to identify the subdir-"
  69. ATSA 15,12 (default) "ectory used by this BBS, and to create and maintain the"
  70. ATSA 16,12 (default) "files it uses."
  71. ATSA 17,29 (default) " Press any key to continue "
  72. KEYG S0
  73. NoUser_E:
  74. WCLO
  75. EXIT
  76. Escape:
  77. CURS N98,N97
  78. WOPE 10,1 20,78 (default) ESC_ESC
  79. ATSA 10,3 (default) " BBS Operator menu "
  80. ATSA 12,3 (default) "1) Terminate the BBS"
  81. IF FLAG(3)
  82. ATSA 13,3 (default) "2) Enter chat with caller"
  83. ELSE
  84. ATSA 13,3 (default) ".. No caller currently on "
  85. ENDI
  86. ATSA 14,3 (default) "3) Cancel this window"
  87. ATSA 15,1 (default) "├────────────────────────────────────────────────────────────────────────────┤"
  88. IF ISSCRIPT "BBMAINT" and NOT FLAG(3)
  89. ATSA 16,3 (default) "4) Invoke BBS maintenance scripts"
  90. ELSE
  91. ATSA 16,3 (default) ".. Maintenance script not available"
  92. ENDI
  93. IF ISSCRIPT "BBSETUP" and NOT FLAG(3)
  94. ATSA 17,3 (default) "5) Invoke BBS setup script"
  95. ELSE
  96. ATSA 17,3 (default) ".. Setup script not available"
  97. ENDI
  98. ATSA 18,1 (default) "├────────────────────────────────────────────────────────────────────────────┤"
  99. ATSA 19,3 (default) "Select item: "
  100. ATSA 20,31 (default) " Press ESC to cancel "
  101. LOCA 19,16
  102. KEYG S0
  103. WCLO
  104. LOCA N98,N97
  105. SWIT S0
  106. CASE "1"
  107. GOTO End
  108. ENDC
  109. CASE "2"
  110. IF FLAG(3) GOTO Chat
  111. ENDC
  112. CASE "3"
  113. RETU
  114. ENDC
  115. CASE "4"
  116. GOSU EndBBS
  117. IF ISFILE "BBMaint" EXECUTE "BBMaint"
  118. ENDC
  119. CASE "5"
  120. GOSU EndBBS
  121. IF ISFILE "BBSetup" EXECUTE "BBSetup"
  122. ENDC
  123. DEFA
  124. SOUN 100,100
  125. ENDC
  126. ENDS
  127. GOTO Escape
  128. ESC_ESC:
  129. S0="3"
  130. RETU
  131. End:
  132. GOSU EndBBS
  133. EXIT
  134. EndBBS:
  135. SET TTHR OFF
  136. WOPE 10,1 12,78 (default)
  137. ATSA 11,3 (default) "Terminating BBS.. "
  138. HANG
  139. S9="* BBS script terminated"
  140. CLOG S9
  141. GOSU Log_Item
  142. SET DLDI S28
  143. CHDI S29
  144. RESE
  145. CLEA
  146. MESS "BBS terminated... type Alt-X to exit COM-AND^M^J^M^J"
  147. TRAN "_MINIT"
  148. DELE "\HOSTTEMP.TXT"
  149. WCLO
  150. RETU
  151. Chat:
  152. TRAN "^M^J"
  153. TRAN "^M^JOperator initiated chat mode..."
  154. S2="_LEGEND"
  155. LEGE "Scripted BBS (1.1);  Chat mode; null entry at prompt to exit"
  156. Chat_Loo:
  157. MESS "^M^JSYSOP: "
  158. GET S0 80
  159. IF NULL S0
  160. MESS "Continue? (Y/N, cr=y): "
  161. GET S0 2
  162. IF FIND S0 "N"
  163. TRAN "^M^JChat terminated by SYSOP"
  164. LEGE S2
  165. RETU
  166. ENDI
  167. S0=" "
  168. ENDI
  169. TRAN "^M^JSYSOP: "
  170. TRAN S0
  171. MESS "Caller: "
  172. TRAN "^M^JCaller: "
  173. GOSU Read_Com
  174. IF FLAG(0)
  175. MESS "^M^JCaller disconnected"
  176. LEGE S2
  177. RETU
  178. ENDI
  179. GOTO Chat_Loo
  180. Limit_Ti:
  181. IF FLAG(1)
  182. SET FLAG(0) OFF
  183. RETU
  184. ENDI
  185. TIME S9 1
  186. N19=S9(0:1)*60+S9(3:4)
  187. N18=S6(0:1)*60+S6(3:4)
  188. IF GT N18 N19
  189. N19=N19+1440
  190. ENDI
  191. N19=N19-N18
  192. IF GT N19 N0
  193. TRAN "^M^JYour alotted time has expired..."
  194. TRAN "^M^JYou are being disconnected."
  195. SET FLAG(0) ON
  196. RETU
  197. ENDI
  198. SET FLAG(0) OFF
  199. RETU
  200. Read_Com:
  201. IF FLAG(3)
  202. GOSU Limit_Ti
  203. IF FLAG(0) RETURN
  204. ENDI
  205. RGET S9 80 180
  206. IF NOT CONNECTED GOTO Disconnect
  207. IF FAILED GOTO Timeout
  208. FIND S9 "NO CARRIER"
  209. IF FOUND GOTO Disconnect
  210. SET FLAG(0) OFF
  211. RETU
  212. Timeout:
  213. TRAN "^M^J... autodisconnect due to timeout^M^J"
  214. MESS "^M^J... autodisconnect due to timeout"
  215. GOTO RComm_Ex
  216. Disconne:
  217. MESS "^M^JCaller disconnected"
  218. RComm_Ex:
  219. SET FLAG(0) ON
  220. RETU
  221. Display_:
  222. IF FLAG(1) RETURN
  223. TIME S9 1
  224. N19=S9(0:1)*60+S9(3:4)
  225. N18=S6(0:1)*60+S6(3:4)
  226. IF GT N18 N19
  227. N19=N19+1440
  228. ENDI
  229. N19=N0-(N19-N18)
  230. STRF S9 "^M^J(%d minutes remaining)" N19
  231. TRAN S9
  232. RETU
  233. Logon:
  234. FOPENI "BBS-User" TEXT
  235. IF FAILED
  236. SET FLAG(0) ON
  237. RETU
  238. ENDI
  239. Logon_Lo:
  240. READ S9 80 N19
  241. IF EOF
  242. FCLOSEI
  243. SET FLAG(0) ON
  244. RETU
  245. ENDI
  246. FIND S9(0:0) "<"
  247. IF FOUND GOTO Logon_Loop
  248. SWIT S1
  249. CASE S9(0:15)
  250. GOTO Logon_OK
  251. ENDC
  252. ENDS
  253. GOTO Logon_Lo
  254. Logon_OK:
  255. SET FLAG(1) OFF
  256. SET FLAG(3) ON
  257. N0=60
  258. FIND S9(16:16) "P"
  259. IF FOUND
  260. SET FLAG(1) ON
  261. N0=3000
  262. ENDI
  263. TIME S6 1
  264. FCLOSEI
  265. SET FLAG(0) OFF
  266. RETU
  267. Disp_Fil:
  268. IF ISFILE S8
  269. TRAN "^M^J"
  270. SEND ASCII S8
  271. RETU
  272. ENDI
  273. IF ISFILE S22&"\"*S8
  274. TRAN "^M^J"
  275. SEND ASCII S22&"\"*S8
  276. RETU
  277. ENDI
  278. TRAN S9
  279. RETU
  280. Log_Item:
  281. FOPENO S22&"\BBS-LOG" TEXT APPEND
  282. IF FAILED RETURN
  283. DATE S7
  284. CONC S9(59) S7
  285. TIME S7 1
  286. CONC S9(70) S7
  287. WRIT S9
  288. WRIT "^M"
  289. FCLOSEO
  290. RETU
  291. Copy_Tex:
  292. N20=0
  293. Copy_Loo:
  294. INC N20
  295. S9=N20&":  ^H"
  296. TRAN S9
  297. GOSU Read_Com
  298. IF FLAG(0) RETURN
  299. LENG S9 N18
  300. IF NOT ZERO N18
  301. PRES S9
  302. WRIT S9
  303. IF FAILED
  304. TRAN "Error recording text - please try later^M^J"
  305. RETU
  306. ENDI
  307. WRIT "!"
  308. GOTO Copy_Loo
  309. ELSE
  310. TRAN "^M^JComplete? (Y/N, cr=n): "
  311. GOSU Read_Com
  312. IF FLAG(0) RETURN
  313. IF NOT FIND S9 "Y"
  314. WRIT "!"
  315. GOTO Copy_Loo
  316. ENDI
  317. ENDI
  318. RETU
  319. Restart:
  320. CHDI S22
  321. SET RECH OFF
  322. SET RDIS OFF
  323. CLEA
  324. LOCA 0,0
  325. SET FLAG(1) OFF
  326. SET FLAG(2) OFF
  327. SET FLAG(3) OFF
  328. HANG
  329. MESS "^M^JWaiting..."
  330. PAUS 3
  331. SET BAUD S20(5:8)
  332. TRAN S21
  333. Wait_Con:
  334. RGET S9 80 180
  335. IF FAILED GOTO Wait_Connect
  336. FIND S9 "NO CARRIER"
  337. IF FOUND GOTO Restart
  338. FIND S9 "CONNECT"
  339. IF NOT FOUND GOTO Wait_Connect
  340. GOSU AutoBaud
  341. PAUS 3
  342. RFLU
  343. SET RECH ON
  344. SET RDIS ON
  345. PAUS 1
  346. S9="^M^JThe Flying Scotsman greets you!! ^M^J"
  347. S8="BBS-Welc"
  348. GOSU Disp_Fil
  349. N10=0
  350. ID_Query:
  351. MESS "^M^JID prompt: "
  352. TRAN "^M^JEnter your ID (or enter GUEST): "
  353. GOSU Read_Com
  354. IF FLAG(0) GOTO Exit
  355. IF NULL S9
  356. INC N10
  357. IF GE N10 3 GOTO Logon_Fail
  358. GOTO ID_Query
  359. ENDI
  360. SWIT S9
  361. CASE "GUEST"
  362. GOSU Register
  363. GOTO Exit
  364. ENDC
  365. ENDS
  366. S1=S9(0:7)
  367. UPPE S1
  368. Password:
  369. TRAN "^M^JEnter your password: "
  370. SET RECH OFF
  371. SET RDIS OFF
  372. GOSU Read_Com
  373. SET RECH ON
  374. IF FLAG(0) GOTO Exit
  375. SET RDIS ON
  376. IF NULL S9
  377. INC N10
  378. IF GE N10 3 GOTO Logon_Fail
  379. GOTO Password
  380. ENDI
  381. S1(8:79)=S9(0:7)
  382. GOSU Logon
  383. IF NOT FLAG(0)
  384. S9="Logon: "*S1(0:7)
  385. GOSU Log_Item
  386. SET FLAG(2) OFF
  387. S1=S1(0:7)
  388. CLOG "* BBS logon: "*S1
  389. TRAN "^M^J"
  390. GOTO Main_Pro
  391. ENDI
  392. Logon_Fa:
  393. TRAN "Unrecognized ID/Password^M^J"
  394. INC N10
  395. IF GE N10 3
  396. TRAN "You have exceeded the number of tries allowed for logon^M^JBye...^M^J"
  397. MESS "^M^JLogon attempts failed^M^J"
  398. S9="Failed logon"
  399. GOSU Log_Item
  400. GOTO Exit
  401. ENDI
  402. GOTO ID_Query
  403. Main_Pro:
  404. MESS "^M^JMain prompt: "
  405. GOSU Display_
  406. IF NOT FLAG(1)
  407. S9="^M^JC)omment, B)ulletins, M)ail, F)iles, A)larm or E)xit: "
  408. S8="BBS-NpMn"
  409. ELSE
  410. S9="^M^JP)rivileged, C)omment, B)ulletins, M)ail, F)iles, A)larm or E)xit: "
  411. S8="BBS-PrMn"
  412. ENDI
  413. GOSU Disp_Fil
  414. GOSU Read_Com
  415. IF FLAG(0) GOTO Exit
  416. LJ S9
  417. S9=S9(0:0)
  418. SWIT S9
  419. CASE "A"
  420. GOTO Alarm
  421. ENDC
  422. CASE "M"
  423. GOTO Mail_Com
  424. ENDC
  425. CASE "F"
  426. GOTO File_Com
  427. ENDC
  428. CASE "C"
  429. GOTO Comment
  430. ENDC
  431. CASE "B"
  432. GOTO Bull_Com
  433. ENDC
  434. CASE "E"
  435. GOTO Logoff
  436. ENDC
  437. CASE "P"
  438. IF FLAG(1) GOTO Priv_Prompt
  439. ENDC
  440. ENDS
  441. TRAN "^M^JCommand not recognized... try again^M^J"
  442. GOTO Main_Pro
  443. Logoff:
  444. CHDI S22
  445. TRAN "^M^JOK... Bye^M^J"
  446. S9="Logoff: "*S1(0:7)
  447. CLOG S9
  448. GOSU Log_Item
  449. Exit:
  450. S9="* BBS cycled"
  451. CLOG S9
  452. GOSU Log_Item
  453. MESS "^G"
  454. GOTO Restart
  455. Alarm:
  456. SOUN 440 500
  457. SOUN 493 100
  458. SOUN 554 100
  459. SOUN 587 100
  460. SOUN 659 100
  461. SOUN 739 100
  462. SOUN 830 100
  463. SOUN 880 500
  464. GOTO Main_Pro
  465. Priv_Pro:
  466. MESS "^M^JPrivilege prompt: "
  467. GOSU Display_
  468. S9="^M^JL)ist, P)ath, S)ubdir, D)OS, M)ain or E)xit: "
  469. S8="BBS-PPMn"
  470. GOSU Disp_Fil
  471. GOSU Read_Com
  472. IF FLAG(0) GOTO Exit
  473. LJ S9
  474. S9=S9(0:0)
  475. SWIT S9
  476. CASE "L"
  477. GOTO DIR
  478. ENDC
  479. CASE "S"
  480. GOTO CHDIR
  481. ENDC
  482. CASE "P"
  483. GOTO PATHLIST
  484. ENDC
  485. CASE "D"
  486. GOTO Shell
  487. ENDC
  488. CASE "M"
  489. GOTO Main_Pro
  490. ENDC
  491. CASE "E"
  492. GOTO Logoff
  493. ENDC
  494. ENDS
  495. TRAN "^M^JCommand not recognized... try again^M^J"
  496. GOTO Priv_Pro
  497. CHDIR:
  498. MESS "^M^JCHDIR Command: "
  499. TRAN "^M^JEnter the drive:subdirectory: "
  500. GOSU Read_Com
  501. IF FLAG(0) GOTO Exit
  502. IF NOT NULL S9
  503. CHDI S9
  504. SET FLAG(2) ON
  505. ENDI
  506. GOTO Priv_Pro
  507. PATHLIST:
  508. MESS "^M^JPathlist command: "
  509. TRAN "^M^JWorking..."
  510. DOS "TREED >\HOSTTEMP.TXT"
  511. TRAN "^M^JUse control-S to suspend, control-Q to continue^M^J"
  512. SEND ASCII "\HOSTTEMP.TXT"
  513. TRAN "^M^J"
  514. DELE "\HOSTTEMP.TXT"
  515. GOTO Priv_Pro
  516. Shell:
  517. MESS "^M^JDOS Command: "
  518. TRAN "^M^JWarning: this command may be used to invoke ANY COMMAND that"
  519. TRAN "^M^JDOS can execute.  If you load a program requiring keyboard  "
  520. TRAN "^M^Jentry, you lock yourself out and leave the board unusable."
  521. TRAN "^M^J"
  522. TRAN "^M^JEnter your command: "
  523. GOSU Read_Com
  524. IF FLAG(0) GOTO Exit
  525. IF NULL S9
  526. GOTO Priv_Pro
  527. ENDI
  528. IF FIND S9 "FORMAT"
  529. TRAN "^M^JFormat commands are not allowed..."
  530. GOTO Priv_Pro
  531. ENDI
  532. TRAN "^M^JWorking..."
  533. CONC S9 ">\HOSTTEMP.TXT"
  534. DOS S9
  535. TRAN "^M^JUse control-S to suspend, control-Q to continue^M^J"
  536. SEND ASCII "\HOSTTEMP.TXT"
  537. TRAN "^M^J"
  538. DELE "\HOSTTEMP.TXT"
  539. GOTO Priv_Pro
  540. Dir:
  541. MESS "^M^JDirectory command: "
  542. TRAN "^M^JWorking..."
  543. DOS "DIR >\HOSTTEMP.TXT"
  544. TRAN "^M^JUse control-S to suspend, control-Q to continue^M^J"
  545. SEND ASCII "\HOSTTEMP.TXT"
  546. TRAN "^M^J"
  547. DELE "\HOSTTEMP.TXT"
  548. GOTO Priv_Pro
  549. File_Com:
  550. MESS "^M^JFile prompt: "
  551. SUBD S19
  552. CHDI S23
  553. File_Pro:
  554. GOSU Display_
  555. S9="^M^JL)ist, S)earch, U)pload, D)ownload, M)ain or E)xit: "
  556. S8="BBS-FiMe"
  557. GOSU Disp_Fil
  558. GOSU Read_Com
  559. IF FLAG(0) GOTO Exit
  560. LJ S9
  561. S9=S9(0:0)
  562. SWIT S9
  563. CASE "D"
  564. GOTO DOWNLOAD
  565. ENDC
  566. CASE "U"
  567. GOTO UPLOAD
  568. ENDC
  569. CASE "L"
  570. GOTO FILELIST
  571. ENDC
  572. CASE "S"
  573. GOTO Search
  574. ENDC
  575. CASE "M"
  576. CHDI S19
  577. GOTO Main_Pro
  578. ENDC
  579. CASE "E"
  580. GOTO Logoff
  581. ENDC
  582. ENDS
  583. TRAN "Invalid selection - try again^M^J"
  584. GOTO FILE_Pro
  585. File_Que:
  586. MESS "^M^JFname query: "
  587. TRAN "^M^JEnter the file name: "
  588. GOSU Read_Com
  589. RETU
  590. UPLOAD:
  591. MESS "^M^JUpload from caller "
  592. GOSU File_Que
  593. IF FLAG(0) GOTO Exit
  594. IF NULL S9
  595. GOTO File_Pro
  596. ENDI
  597. IF FIND S9 "\" and NOT FLAG(1)
  598. TRAN "^M^JQualified file names are not permitted."
  599. GOTO UPLOAD
  600. ENDI
  601. IF ISDLFILE S9
  602. TRAN "^M^JFile already exists"
  603. GOTO UPLOAD
  604. ENDI
  605. MESS "^M^JUlo Method prompt: "
  606. TRAN "^M^JW)xmodem, X)modem, Y)modem (X1k), Z)modem, or K)ermit: "
  607. S8=S9
  608. GOSU Read_Com
  609. IF FLAG(0) GOTO Exit
  610. LJ S9
  611. S9=S9(0:0)
  612. TIME S10 1
  613. SWIT S9
  614. CASE "W"
  615. TRAN "^M^JBegin your transfer procedure..."
  616. GETF WXMODEM S8
  617. ENDC
  618. CASE "X"
  619. TRAN "^M^JBegin your transfer procedure..."
  620. GETF XMODEM S8
  621. ENDC
  622. CASE "Y"
  623. TRAN "^M^JBegin your transfer procedure..."
  624. GETF YMODEM S8
  625. ENDC
  626. CASE "Z"
  627. TRAN "^M^JBegin your transfer procedure..."
  628. GETF ZMODEM
  629. ENDC
  630. CASE "K"
  631. TRAN "^M^JBegin your transfer procedure..."
  632. GETF KERMIT
  633. ENDC
  634. DEFA
  635. TRAN "^M^JInvalid transfer selection"
  636. SET SUCC OFF
  637. GOTO EOTransf
  638. ENDC
  639. ENDS
  640. IF FAILED
  641. S9="Upload ("*S9(0:0)*"): "*S8&", Failure"
  642. GOSU Log_Item
  643. DELE S8
  644. SET SUCC OFF
  645. GOTO EOTransf
  646. ELSE
  647. S9="Upload ("*S9(0:0)*"): "*S8&", Success"
  648. GOSU Log_Item
  649. ENDI
  650. IF FIND S8 "\"
  651. GOTO File_Pro
  652. ENDI
  653. TIME S11 1
  654. N19=S11(0:1)*60+S11(3:4)
  655. N18=S10(0:1)*60+S10(3:4)
  656. IF GT N18 N19
  657. N19=N19+1440
  658. ENDI
  659. N0=N0+(N19-N18)
  660. Describe:
  661. TRAN "^M^JDescription: "
  662. GOSU Read_Com
  663. IF FLAG(0) GOTO Exit
  664. IF NULL S9
  665. TRAN "^M^JPlease leave something of a description"
  666. GOTO Describe
  667. ENDI
  668. FOPENO "BBS-File" TEXT APPEND
  669. IF FAILED
  670. S9="Uload of "*S8&" succeeded, but BBS-FIle open failed"
  671. GOSU Log_Item
  672. SET SUCC OFF
  673. GOTO EOTransf
  674. ENDI
  675. DATE S0
  676. S8=S8&"            "
  677. FSIZ S11 S8
  678. S10=S8(0:11)*S0(0:7)*" "*S11(0:6)*S9
  679. WRIT S10
  680. WRIT "!"
  681. FCLOSEO
  682. SET SUCC ON
  683. GOTO EOTransf
  684. DOWNLOAD:
  685. MESS "^M^JDownload to caller "
  686. GOSU File_Que
  687. IF FLAG(0) GOTO Exit
  688. IF NULL S9 GOTO File_Prompt
  689. IF FIND S9 "\"
  690. IF NOT FLAG(1)
  691. TRAN "^M^JQualified file names are not permitted."
  692. GOTO DOWNLOAD
  693. ENDI
  694. ENDI
  695. IF NOT ISFILE S9
  696. GOSU FileTest
  697. IF FAILED
  698. TRAN "^M^JFile doesn't exist"
  699. GOTO DOWNLOAD
  700. ENDI
  701. ENDI
  702. S8=S9
  703. MESS "^M^JDlo Method prompt "
  704. TRAN "^M^JW)xmodem, X)modem, Y)modem (X1k), Z)modem, K)ermit, or A)scii: "
  705. GOSU Read_Com
  706. IF FLAG(0) GOTO Exit
  707. LJ S9
  708. S9=S9(0:0)
  709. SWIT S9
  710. CASE "A"
  711. TRAN "^M^JUse control-S to suspend, control-Q to continue^M^J"
  712. SEND ASCII S8
  713. ENDC
  714. CASE "W"
  715. TRAN "^M^JBegin your transfer procedure..."
  716. SEND WXMODEM S8
  717. ENDC
  718. CASE "X"
  719. TRAN "^M^JBegin your transfer procedure..."
  720. SEND XMODEM S8
  721. ENDC
  722. CASE "Y"
  723. TRAN "^M^JBegin your transfer procedure..."
  724. SEND YMODEM S8
  725. ENDC
  726. CASE "Z"
  727. TRAN "^M^JBegin your transfer procedure..."
  728. SEND ZMODEM S8
  729. ENDC
  730. CASE "K"
  731. TRAN "^M^JBegin your transfer procedure..."
  732. SEND KERMIT S8
  733. ENDC
  734. DEFA
  735. TRAN "^M^JInvalid transfer selection"
  736. SET SUCC OFF
  737. GOTO EOTransf
  738. ENDC
  739. ENDS
  740. IF FAILED
  741. S9="Download ("*S9(0:0)*"): "*S8&", Failure"
  742. GOSU Log_Item
  743. SET SUCC OFF
  744. ELSE
  745. S9="Download ("*S9(0:0)*"): "*S8&", Success"
  746. GOSU Log_Item
  747. SET SUCC ON
  748. ENDI
  749. EOTransf:
  750. IF FAILED
  751. MESS "^M^JTransfer failed "
  752. ELSE
  753. MESS "^M^JTransfer OK "
  754. ENDI
  755. GOTO File_Pro
  756. FileTest:
  757. FOPENI "BBS-File" TEXT
  758. IF FAILED
  759. SET SUCC OFF
  760. RETU
  761. ENDI
  762. LJ S9
  763. FTestLoo:
  764. READ S0 80 N19
  765. IF EOF GOTO FTestEnd
  766. IF FIND S0(0:0) "*" GOTO FTestLoop
  767. IF NOT FIND S0(0:11) S9 GOTO FTestLoop
  768. S2=S0(0:11)
  769. IF FIND S0(28:28) "^A"
  770. IF FIND S0(29:79) "^A" N11
  771. S2=S0(29:29+N11-1)&"\"*S2
  772. ENDI
  773. ENDI
  774. IF NOT ISFILE S2 GOTO FTestLoop
  775. S9=S2
  776. FCLOSEI
  777. SET SUCC ON
  778. RETU
  779. FTestEnd:
  780. FCLOSEI
  781. SET SUCC OFF
  782. RETU
  783. Filelist:
  784. N10=0
  785. FOPENI "BBS-File" TEXT
  786. IF FAILED
  787. TRAN "^M^JNo files are available at this time^M^J"
  788. GOTO File_Pro
  789. ENDI
  790. FListLoo:
  791. READ S9 80 N19
  792. IF EOF GOTO FListEnd
  793. IF FIND S9(0:0) "*" GOTO FListPrint
  794. S0=S9(0:11)
  795. IF FIND S9(28:28) "^A"
  796. IF FIND S9(29:79) "^A" N11
  797. S0=S9(29:29+N11-1)&"\"*S0
  798. S9(28:79)=S9(29+N11+1:79)
  799. ENDI
  800. ENDI
  801. IF NOT ISFILE S0 GOTO FListLoop
  802. IF FIND S9(12:12) "*"
  803. FDAT S2 S0 1
  804. FSIZ S3 S0
  805. S9(12:19)=S2
  806. S9(21:27)=S3
  807. ENDI
  808. IF ZERO N10
  809. TRAN "^M^JName         Dated    Size    Description ^M^J"
  810. TRAN "------------ -------- ------- ----------------------------------------------^M^J"
  811. ENDI
  812. S9=S9(0:11)*" "*S9(12:19)*" "*S9(21:27)*" "*S9(28:79)
  813. FListPri:
  814. TRAN S9
  815. TRAN "^M^J"
  816. N10=N10+1
  817. GOTO FListLoo
  818. FListEnd:
  819. FCLOSEI
  820. GOTO File_Pro
  821. Search:
  822. TRAN "^M^JEnter the search string: "
  823. GOSU Read_Com
  824. IF FLAG(0) GOTO Exit
  825. IF NULL S9 GOTO File_Prompt
  826. S18=S9
  827. FOPENI "BBS-File" TEXT
  828. IF FAILED
  829. TRAN "^M^JNo files are available at this time^M^J"
  830. GOTO File_Pro
  831. ENDI
  832. N10=0
  833. Search_L:
  834. READ S9 80 N19
  835. IF EOF GOTO Search_End
  836. IF FIND S9(0:0) "*" GOTO Search_Loop
  837. S0=S9(0:11)
  838. IF FIND S9(28:28) "^A"
  839. IF FIND S9(29:79) "^A" N11
  840. S0=S9(29:29+N11-1)&"\"*S0
  841. S9(28:79)=S9(29+N11+1:79)
  842. ENDI
  843. ENDI
  844. IF NOT ISFILE S0 GOTO Search_Loop
  845. IF FIND S9(12:12) "*"
  846. FDAT S2 S0 1
  847. FSIZ S3 S0
  848. S9(12:19)=S2
  849. S9(21:27)=S3
  850. ENDI
  851. IF NOT FIND S9 S18 GOTO Search_Loop
  852. IF ZERO N10
  853. TRAN "^M^JName         Dated    Size    Description ^M^J"
  854. TRAN "------------ -------- ------- ----------------------------------------------^M^J"
  855. ENDI
  856. S0=S9(0:11)*" "*S9(12:19)*" "*S9(21:27)*" "*S9(28:79)
  857. TRAN S0
  858. TRAN "^M^J"
  859. N10=N10+1
  860. GOTO Search_L
  861. Search_E:
  862. IF ZERO N10
  863. TRAN "^M^JNo matches"
  864. ENDI
  865. FCLOSEI
  866. GOTO File_Pro
  867. Comment:
  868. SUBD S19
  869. CHDI S22
  870. MESS "^M^JComment requested "
  871. S9="Do you wish to leave a comment? (Y/N, cr=n): "
  872. S8="BBS-NoMe"
  873. GOSU Disp_Fil
  874. GOSU Read_Com
  875. IF FLAG(0) GOTO Exit
  876. FIND S9 "Y"
  877. IF NOT FOUND
  878. TRAN "OK"
  879. CHDI S19
  880. GOTO Main_Pro
  881. ENDI
  882. FOPENO "BBS-Note" TEXT APPEND
  883. IF FAILED
  884. TRAN "Error recording note - please try later^M^J"
  885. CHDI S19
  886. GOTO Main_Pro
  887. ENDI
  888. S9="*** Note left by "
  889. CONC S9(17) S1
  890. DATE S8
  891. CONC S9(25) S8(0:9)
  892. TIME S8 1
  893. CONC S9(35) S8(0:7)
  894. WRIT S9
  895. WRIT "!"
  896. TRAN "Each line, as you enter it will be recorded.  No edits, yet...^M^J"
  897. TRAN "Enter a line/line(s) of text.  A blank line ends the note.^M^J"
  898. GOSU Copy_Tex
  899. WRIT "------------!"
  900. FCLOSEO
  901. IF FLAG(0) GOTO Exit
  902. TRAN "Your note has been recorded - thanks^M^J"
  903. S9="Comment recorded"
  904. GOSU Log_Item
  905. CHDI S19
  906. GOTO Main_Pro
  907. Bull_Com:
  908. SUBD S19
  909. CHDI S25
  910. BULL_Lis:
  911. MESS "^M^JBulletin list: "
  912. N10=0
  913. FOPENI "BBS-Bull" TEXT
  914. IF FAILED
  915. TRAN "^M^JNo bulletins exist^M^J"
  916. CHDI S19
  917. GOTO Main_Pro
  918. ENDI
  919. Bull_Loo:
  920. READ S9 80 N19
  921. IF EOF GOTO Bull_Prompt
  922. IF NOT NULL S9(13:13)
  923. IF NOT FLAG(1) GOTO Bull_Loop
  924. ENDI
  925. IF FIND S9(0:0) "*" GOTO Bull_Loop
  926. S0=S9(14:25)
  927. IF NOT ISFILE S0 GOTO Bull_Loop
  928. IF ZERO N10
  929. TRAN "^M^JNum   Dated    Subject^M^J"
  930. TRAN "----- -------- -------------------------------------------------------------^M^J"
  931. ENDI
  932. S0=S9(0:4)*" "*S9(5:12)*" "*S9(26:79)
  933. TRAN S0
  934. TRAN "^M^J"
  935. N10=N10+1
  936. GOTO Bull_Loo
  937. Bull_Pro:
  938. FCLOSEI
  939. GOSU Display_
  940. S9="^M^JL)ist, M)ain, E)xit, or a bulletin number: "
  941. S8="BBS-BuMe"
  942. GOSU Disp_Fil
  943. GOSU Read_Com
  944. IF FLAG(0) GOTO Exit
  945. LJ S9
  946. IF FIND S9(0:0) "L"
  947. GOTO Bull_Lis
  948. ENDI
  949. IF FIND S9(0:0) "M"
  950. CHDI S19
  951. GOTO Main_Pro
  952. ENDI
  953. IF FIND S9(0:0) "E"
  954. GOTO Logoff
  955. ENDI
  956. FOPENI "BBS-Bull" TEXT
  957. IF FAILED
  958. TRAN "^M^JNo bulletins available^M^J"
  959. CHDI S19
  960. GOTO Main_Pro
  961. ENDI
  962. S0=S9
  963. Bull_Sca:
  964. READ S9 80 N19
  965. IF EOF
  966. TRAN "^M^JNo such bulletin!! ^M^J"
  967. FCLOSEI
  968. GOTO Bull_Pro
  969. ENDI
  970. IF FIND S9(0:0) "*" GOTO Bull_Scan
  971. IF NOT NULL S9(13:13)
  972. IF NOT FLAG(1) GOTO Bull_Scan
  973. ENDI
  974. S8=S9(14:25)
  975. IF NOT ISFILE S8 GOTO Bull_Scan
  976. S9=S9(0:4)
  977. LJ S9
  978. SWIT S9
  979. CASE S0(0:4)
  980. GOTO Bull_Rea
  981. ENDC
  982. ENDS
  983. GOTO Bull_Sca
  984. Bull_Rea:
  985. FCLOSEI
  986. MESS "^M^JReading bulletin: "*S8
  987. S9="^M^JError opening bulletin file"
  988. GOSU Disp_Fil
  989. S9="Bulletin "*S8&" read"
  990. GOSU Log_Item
  991. GOTO Bull_Pro
  992. Mail_Com:
  993. MESS "^M^JMail prompt: "
  994. SUBD S19
  995. CHDI S24
  996. Mail_Pro:
  997. GOSU Display_
  998. S9="^M^JS)can, L)ist, N)ew, A)ll, W)rite, M)ain or E)xit: "
  999. S8="BBS-MeMe"
  1000. GOSU Disp_Fil
  1001. GOSU Read_Com
  1002. IF FLAG(0) GOTO Exit
  1003. LJ S9
  1004. S9=S9(0:0)
  1005. SWIT S9
  1006. CASE "N"
  1007. GOTO Read_New
  1008. ENDC
  1009. CASE "A"
  1010. GOTO Read_All
  1011. ENDC
  1012. CASE "W"
  1013. GOTO Write_ms
  1014. ENDC
  1015. CASE "S"
  1016. GOTO Scan_Msg
  1017. ENDC
  1018. CASE "L"
  1019. GOTO List_Msg
  1020. ENDC
  1021. CASE "M"
  1022. CHDI S19
  1023. GOTO Main_Pro
  1024. ENDC
  1025. CASE "E"
  1026. GOTO Logoff
  1027. ENDC
  1028. ENDS
  1029. TRAN "Invalid selection - try again^M^J"
  1030. GOTO Mail_Pro
  1031. Scan_Msg:
  1032. N10=0
  1033. N11=0
  1034. FOPENI "BBS-Mail" TEXT
  1035. IF FAILED GOTO Scan_Rpt
  1036. TRAN "^M^JWorking..."
  1037. Scan_Loo:
  1038. READ S9 80 N19
  1039. IF EOF GOTO Scan_Rpt
  1040. S0=S9(0:7)
  1041. SWIT S0
  1042. CASE S1
  1043. S0=S9(25:37)
  1044. IF ISFILE S0 INC N11
  1045. ENDC
  1046. ENDS
  1047. INC N10
  1048. N12=N10/10*10
  1049. IF EQ N10 N12
  1050. TRAN "."
  1051. ENDI
  1052. GOTO Scan_Loo
  1053. Scan_Rpt:
  1054. IF ZERO N11
  1055. TRAN "^M^JYou have no messages waiting"
  1056. ELSE
  1057. STRF S0 "^M^JYou have %d message(s) waiting." N11
  1058. TRAN S0
  1059. ENDI
  1060. FCLOSEI
  1061. GOTO Mail_Pro
  1062. List_Msg:
  1063. N10=0
  1064. FOPENI "BBS-Mail" TEXT
  1065. IF FAILED
  1066. TRAN "^M^JNo mail exists - why not write something?^M^J"
  1067. GOTO Mail_Pro
  1068. ENDI
  1069. List_Loo:
  1070. READ S9 80 N19
  1071. IF EOF GOTO List_End
  1072. S0=S9(0:7)
  1073. SWIT S0
  1074. CASE S1
  1075. ENDC
  1076. DEFA
  1077. IF FIND S9(16:16) "P"
  1078. IF NOT STRCMP S9(8:15) S1
  1079. GOTO List_Loo
  1080. ENDI
  1081. ENDI
  1082. ENDC
  1083. ENDS
  1084. S0=S9(25:37)
  1085. IF NOT ISFILE S0 GOTO List_Loop
  1086. IF ZERO N10
  1087. TRAN "^M^JTo       From     Date     Subject^M^J"
  1088. TRAN "-------- -------- -------- -------------------------------------------------^M^J"
  1089. ENDI
  1090. S0=S9(0:7)*" "*S9(8:15)*" "*S9(17:24)*" "*S9(38:79)
  1091. TRAN S0
  1092. TRAN "^M^J"
  1093. N10=N10+1
  1094. GOTO List_Loo
  1095. List_End:
  1096. FCLOSEI
  1097. GOTO Mail_Pro
  1098. Read_New:
  1099. S7="        "
  1100. IF NOT ISFILE S1&".NEW" GOTO Read_Msg
  1101. FOPENI S1&".NEW" TEXT
  1102. IF FAILED GOTO Read_Msg
  1103. READ S7 8 N19
  1104. FCLOSEI
  1105. GOTO Read_Msg
  1106. Read_All:
  1107. S7="        "
  1108. GOTO Read_Msg
  1109. DateTest:
  1110. IF NOT NUMERIC S2(0) or NOT NUMERIC S2(3) or NOT NUMERIC S2(6)
  1111. N10=0
  1112. RETU
  1113. ENDI
  1114. IF NOT NUMERIC S0(0) or NOT NUMERIC S0(3) or NOT NUMERIC S0(6)
  1115. N10=0
  1116. RETU
  1117. ENDI
  1118. IF S0(6:7) EQ S2(6:7)
  1119. N10=(S0(0:1)*100+S0(3:4))-(S2(0:1)*100+S2(3:4))
  1120. IF N10 LT 0
  1121. N10=-1
  1122. ELSE
  1123. IF N10 GT 0
  1124. N10=1
  1125. ELSE
  1126. N10=0
  1127. ENDI
  1128. ENDI
  1129. RETU
  1130. ENDI
  1131. N10=S0(6:7)+1900
  1132. N11=S2(6:7)+1900
  1133. IF S0(6:7) LT 80 N10=N10+100
  1134. IF S2(6:7) LT 80 N11=N10+100
  1135. IF N10 LT N11
  1136. N10=-1
  1137. ELSE
  1138. IF N10 GT N11
  1139. N10=1
  1140. ELSE
  1141. N10=0
  1142. ENDI
  1143. ENDI
  1144. RETU
  1145. Read_Msg:
  1146. FOPENI "BBS-Mail" TEXT
  1147. IF FAILED
  1148. TRAN "^M^JNo mail exists - why not write something?^M^J"
  1149. GOTO Mail_Pro
  1150. ENDI
  1151. S3="        "
  1152. Read_Loo:
  1153. READ S9 80 N19
  1154. IF EOF GOTO Read_End
  1155. S2=S9(17:24)
  1156. S0=S7
  1157. GOSU DateTest
  1158. IF N10 GT 0 GOTO Read_Loop
  1159. S0=S9(0:7)
  1160. SWIT S0
  1161. CASE S1
  1162. SET FLAG(9) ON
  1163. ENDC
  1164. DEFA
  1165. SET FLAG(9) OFF
  1166. IF STRCMP S9(8:15) S1 SET FLAG(9) ON
  1167. IF FIND S9(16:16) "P" and NOT FLAG(9)
  1168. GOTO Read_Loo
  1169. ENDI
  1170. ENDC
  1171. ENDS
  1172. S0=S9(25:37)
  1173. IF NOT ISFILE S0 GOTO Read_Loop
  1174. S4=S9(8:15)
  1175. S5=S9(38:79)
  1176. S8=S0
  1177. S9="^M^JError opening mailfile"
  1178. GOSU Disp_Fil
  1179. S0=S3
  1180. GOSU DateTest
  1181. IF NULL S3 or N10 LT 0 S3=S2
  1182. Read_Dis:
  1183. IF FLAG(9)
  1184. TRAN "^M^JD)elete, R)eply, Q)uit (cr=continue): "
  1185. ELSE
  1186. TRAN "^M^JR)eply, Q)uit (cr=continue): "
  1187. ENDI
  1188. GOSU Read_Com
  1189. IF FLAG(0) GOTO Exit
  1190. LJ S9
  1191. S9=S9(0:0)
  1192. IF NULL S9 S9="c"
  1193. SWIT S9
  1194. CASE "D"
  1195. IF FLAG(9)
  1196. DELE S8
  1197. TRAN "Message deleted^M^J"
  1198. ELSE
  1199. TRAN "You may not delete this note^M^J"
  1200. ENDI
  1201. ENDC
  1202. CASE "R"
  1203. S10=S4
  1204. S11=S5
  1205. IF NOT STRCMP S5(0:9) "Reply to: " S11="Reply to: "*S5
  1206. GOSU Reply
  1207. IF FLAG(0) GOTO Exit
  1208. ENDC
  1209. CASE "C"
  1210. GOTO Read_Loo
  1211. ENDC
  1212. CASE "Q"
  1213. GOTO Read_End
  1214. ENDC
  1215. DEFA
  1216. TRAN "^M^JUnrecognized command - please try again^M^J"
  1217. ENDC
  1218. ENDS
  1219. GOTO Read_Dis
  1220. Read_End:
  1221. FCLOSEI
  1222. IF NOT NULL S3
  1223. FOPENO S1&".NEW" TEXT
  1224. IF FAILED GOTO Mail_Prompt
  1225. WRIT S3*"!"
  1226. FCLOSEO
  1227. ENDI
  1228. GOTO Mail_Pro
  1229. Write_Ms:
  1230. GOSU Compose
  1231. IF FLAG(0) GOTO Exit
  1232. GOTO Mail_Pro
  1233. Compose:
  1234. TRAN "To:  ^H"
  1235. GOSU Read_Com
  1236. IF FLAG(0) RETURN
  1237. LJ S9
  1238. IF NULL S9 RETURN
  1239. S10=S9(0:7)
  1240. UPPE S10
  1241. TRAN "Subject:  ^H"
  1242. GOSU Read_Com
  1243. IF FLAG(0) RETURN
  1244. S11=S9
  1245. Reply:
  1246. FOPENO "\HOSTTEMP.TXT" TEXT
  1247. IF FAILED
  1248. TRAN "Error opening file - please try later^M^J"
  1249. RETU
  1250. ENDI
  1251. S9="To:    "
  1252. CONC S9(7) S10
  1253. WRIT S9
  1254. WRIT "!"
  1255. S9="From: "
  1256. CONC S9(7) S1
  1257. WRIT S9
  1258. WRIT "!"
  1259. S9="Date: "
  1260. DATE S12
  1261. CONC S9(7) S12
  1262. TIME S8 1
  1263. CONC S9(17) S8
  1264. WRIT S9
  1265. WRIT "!"
  1266. S9="Subject: "
  1267. CONC S9(9) S11
  1268. WRIT S9
  1269. WRIT "!"
  1270. WRIT "!"
  1271. TRAN "Each line, as you enter it will be recorded.  No edits, yet...^M^J"
  1272. TRAN "Enter a line/line(s) of text.  A blank line ends the text.^M^J"
  1273. GOSU Copy_Tex
  1274. FCLOSEO
  1275. IF FLAG(0) RETURN
  1276. TRAN "Save? (Y/N, cr=y):  ^H"
  1277. GOSU Read_Com
  1278. IF FLAG(0) RETURN
  1279. IF FIND S9 "N" RETURN
  1280. TRAN "^M^JScanning for free slot"
  1281. N10=0
  1282. S0=S10(0:7)
  1283. WHIL ISFILE S0&"."&N10
  1284. INC N10
  1285. IF N10 GT 999
  1286. TRAN "^M^JToo many notes left undeleted - cannot save^M^J"
  1287. RETU
  1288. ENDI
  1289. ENDW
  1290. TRAN "^M^JPrivate? (Y/N, cr=n): "
  1291. GOSU Read_Com
  1292. IF FLAG(0) RETURN
  1293. S13=" "
  1294. IF FIND S9 "Y" S13="P"
  1295. S0=S0&"."&N10
  1296. S9="COPY \HOSTTEMP.TXT "*S0
  1297. DOS S9
  1298. FOPENO "BBS-Mail" TEXT APPEND
  1299. WRIT S10 8
  1300. WRIT S1 8
  1301. WRIT S13 1
  1302. WRIT S12 8
  1303. WRIT S0 13
  1304. WRIT S11 50
  1305. WRIT "!"
  1306. FCLOSEO
  1307. RETU
  1308. Register:
  1309. MESS "^M^JRegistration requested "
  1310. S9="Do you wish to register? (Y/N, cr=y): "
  1311. S8="BBS-ReMe"
  1312. GOSU Disp_Fil
  1313. GOSU Read_Com
  1314. IF FLAG(0)
  1315. S9="Registration aborted - disconn"
  1316. GOSU Log_Item
  1317. RETU
  1318. ENDI
  1319. IF FIND S9 "N"
  1320. S9="Registration declined by caller"
  1321. GOSU Log_Item
  1322. TRAN "OK - bye^M^J"
  1323. RETU
  1324. ENDI
  1325. TRAN "Enter your full name: "
  1326. GOSU Read_Com
  1327. IF FLAG(0) RETURN
  1328. S18=S9
  1329. TRAN "Enter your street address: "
  1330. GOSU Read_Com
  1331. IF FLAG(0) RETURN
  1332. S17=S9
  1333. TRAN "Enter your city/state and zip: "
  1334. GOSU Read_Com
  1335. IF FLAG(0) RETURN
  1336. S16=S9
  1337. TRAN "Enter a area code and phone number where^M^J"
  1338. TRAN "you may be reached:  "
  1339. GOSU Read_Com
  1340. IF FLAG(0) RETURN
  1341. S15=S9
  1342. Reg_ID:
  1343. TRAN "Enter the ID (1-8 chars) you wish to use: "
  1344. GOSU Read_Com
  1345. IF FLAG(0) RETURN
  1346. IF FIND S9(0:7) "."
  1347. TRAN "ID may not contain '.'s^M^J"
  1348. GOTO Reg_ID
  1349. ENDI
  1350. IF FIND S9(0:7) ","
  1351. TRAN "ID may not contain ','s^M^J"
  1352. GOTO Reg_ID
  1353. ENDI
  1354. IF FIND S9(0:7) "\"
  1355. TRAN "ID may not contain '\'s^M^J"
  1356. GOTO Reg_ID
  1357. ENDI
  1358. IF FIND S9(0:7) "/"
  1359. TRAN "ID may not contain '/'s^M^J"
  1360. GOTO Reg_ID
  1361. ENDI
  1362. S14=S9(0:7)
  1363. Reg_Pass:
  1364. TRAN "Enter the password (1-8 chars) you wish to use: "
  1365. GOSU Read_Com
  1366. IF FLAG(0) RETURN
  1367. IF NULL S9(0:7)
  1368. TRAN "You must have a password^M^J"
  1369. GOTO Reg_Pass
  1370. ENDI
  1371. S14=S14&";"&S9(0:7)
  1372. TRAN "^M^JRepeating your entry...^M^J"
  1373. TRAN S18
  1374. TRAN "^M^J"
  1375. TRAN S17
  1376. TRAN "^M^J"
  1377. TRAN S16
  1378. TRAN "^M^J"
  1379. TRAN S15
  1380. TRAN "^M^J"
  1381. TRAN S14
  1382. TRAN "^M^JIs this correct? (Y/N, cr=n): "
  1383. GOSU Read_Com
  1384. IF FLAG(0) RETURN
  1385. FIND S9 "Y"
  1386. IF NOT FOUND GOTO Register
  1387. FOPENO "BBS-Note" TEXT APPEND
  1388. IF FAILED
  1389. TRAN "Error recording registration - please call back^M^J"
  1390. RETU
  1391. ENDI
  1392. S9="*** Registration requested: "
  1393. DATE S1
  1394. CONC S9(27) S1
  1395. TIME S1 1
  1396. CONC S9(38) S1
  1397. WRIT S9
  1398. WRIT "!"
  1399. WRIT S18 80
  1400. WRIT "!"
  1401. WRIT S17 80
  1402. WRIT "!"
  1403. WRIT S16 80
  1404. WRIT "!"
  1405. WRIT S15 80
  1406. WRIT "!"
  1407. WRIT S14 80
  1408. WRIT "!"
  1409. WRIT "------------!"
  1410. S9="Registration requested"
  1411. GOSU Log_Item
  1412. TRAN "Your request will be processed by the SYSOP^M^J"
  1413. TRAN "Thanks for calling...^M^J"
  1414. FCLOSEO
  1415. RETU
  1416. AutoBaud:
  1417. IF FIND S9 "1200"
  1418. SET BAUD 1200
  1419. GOTO AUBA100
  1420. ENDI
  1421. IF FIND S9 "2400"
  1422. SET BAUD 2400
  1423. GOTO AUBA100
  1424. ENDI
  1425. IF FIND S9 "4800"
  1426. SET BAUD 4800
  1427. GOTO AUBA100
  1428. ENDI
  1429. IF FIND S9 "9600"
  1430. SET BAUD 9600
  1431. GOTO AUBA100
  1432. ENDI
  1433. IF FIND S9 "19200"
  1434. SET BAUD 19.2
  1435. GOTO AUBA100
  1436. ENDI
  1437. IF FIND S9 "19.2"
  1438. SET BAUD 19.2
  1439. GOTO AUBA100
  1440. ENDI
  1441. SET BAUD 300
  1442. AUBA100:
  1443. GOSU Log_Item
  1444. RETU
  1445.